import axios from "axios";
import Vue from "vue";

//token失效跳转路由
//import router from '../router'

// 提醒
import { Message } from "element-ui";

//正式地址
// 浏览地址：https://e.zzdd.tech/
// /home/e_platform_web
axios.defaults.baseURL = "https://e.zzdd.tech/e_platform_api/";

//测试地址
// 浏览地址：https://e.zzdd.tech/e_platform_debug/
// 测试：ip 47.92.115.95   账号e_platform_web_test 密码 test123
// axios.defaults.baseURL = "https://e.zzdd.tech/e_platform_api_debug";

//加载不出来5秒之后就是加载失败
axios.defaults.timeout = 20000;
axios.defaults.headers["Content-Type"] = "application/json";

//请求拦截
axios.interceptors.request.use((config) => {
  // 添加断开请求的方法
  config["cancelToken"] = new axios.CancelToken(function executor(cancel) {
    Vue.$httpRequestList.push(cancel); //存储cancle
  });
  return config;
});
// 响应拦截器
axios.interceptors.response.use(
  (res) => {
    //判断token是否失效
    // if (res.data.code == 10001) {
    //     console.log("您的token已失效");
    //     Message({
    //       message: '您的token已失效',
    //       type: 'error',
    //     })
    //     window.sessionStorage.clear();
    //     router.push({ path: '/login' })

    //   }
    return res;

    // // 未设置状态码则默认成功状态
    // if (res.data.code === 401 || res.data.code === 402) {
    //   console.log("状态码返回401或402");
    // }
  },
  (error) => {
    if (!error.message == "interrupt") {
      Message({
        message: "服务器错误",
        type: "error",
      });
      return Promise.reject(error);
    }
  }
);

//使用promise返回axios请求
export function get(url, params) {
  return new Promise((resolve, reject) => {
    axios
      .get(url, {
        params: params,
      })
      .then((res) => {
        resolve(res);
      })
      .catch((err) => {
        reject(err);
      });
  });
}

export function post(url, data) {
  return new Promise((resolve, reject) => {
    axios
      .post(url, data)
      .then((res) => {
        resolve(res);
      })
      .catch((err) => {
        reject(err);
      });
  });
}
